package io.finer.erp.jeecg.purchase.vo;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.math.BigDecimal;
import java.util.Date;

@Data
@ApiModel(value="PurchaseOrderLinePage对象", description="采购订单行")
public class PurchaseOrderLinePage {

    @ApiModelProperty(value = "ID")
    private String id;

    @ApiModelProperty(value = "主表")
    private String mid;

    @ApiModelProperty(value = "物料")
    private String materialId;

    @ApiModelProperty(value = "物料编码")
    private String materialCode;

    @ApiModelProperty(value = "物料名称")
    private String materialName;

    @ApiModelProperty(value = "规格型号")
    private String model;

    @ApiModelProperty(value = "物料分类ID")
    private String materialCategoryId;

    @ApiModelProperty(value = "物料分类编码")
    private String materialCategoryCode;

    @ApiModelProperty(value = "物料分类名称")
    private String materialCategoryName;

    @ApiModelProperty(value = "单位ID")
    private String unitId;

    @ApiModelProperty(value = "单位编码")
    private String unitSymbol;

    @ApiModelProperty(value = "单位名称")
    private String unitName;

    @ApiModelProperty(value = "数量")
    private BigDecimal qty;

    @ApiModelProperty(value = "税率")
    private BigDecimal tax;

    @ApiModelProperty(value = "单价")
    private BigDecimal price;

    @ApiModelProperty(value = "金额")
    private BigDecimal amount;

    @ApiModelProperty(value = "不含税单价")
    private BigDecimal nonTaxPrice;

    @ApiModelProperty(value = "税额")
    private BigDecimal taxAmount;

    @ApiModelProperty(value = "行合计")
    private BigDecimal lineAmount;

    @ApiModelProperty(value = "不含税合计")
    private BigDecimal nonTaxLineAmount;

    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "预计日期")
    private Date plannedDate;

    @ApiModelProperty(value = "收货库位")
    private String destWarehouseId;

    @ApiModelProperty(value = "收获库位编码")
    private String destWarehouseCode;

    @ApiModelProperty(value = "收货库位名称")
    private String destWarehouseName;

    @ApiModelProperty(value = "申请人")
    private String applicant;

    @ApiModelProperty(value = "申请部门")
    private String sysOrgCode;

    @ApiModelProperty(value = "采购申请行")
    private String prLine;

    @ApiModelProperty(value = "在途数量")
    private BigDecimal transitQty;

    @ApiModelProperty(value = "合计数量")
    private BigDecimal totalQty;

    @ApiModelProperty(value = "入库数量")
    private BigDecimal receiptQty;

    @ApiModelProperty(value = "入库金额")
    private BigDecimal receiptAmount;

    @ApiModelProperty(value = "未入库数量")
    private BigDecimal unreceiptQty;

    @ApiModelProperty(value = "可用量")
    private BigDecimal qtyAvailable;

    @ApiModelProperty(value = "采购订单编号")
    private String billNo;

    @ApiModelProperty(value = "行状态")
    private String lineState;

    @ApiModelProperty(value = "取消/关闭原因")
    private String closeReason;

    @ApiModelProperty(value = "接收人")
    private String receiver;

    @ApiModelProperty(value = "接收部门")
    private String receiveDepartment;

    @ApiModelProperty(value = "备注")
    private String remark;

    @ApiModelProperty(value = "版本")
    private Integer version;
}
